CDMA-based wireless communications networks were introduced as a second generation (2G) system based on digital technologies as compared to first generation systems that used analog transmission technology. 2G systems also introduced support for low-speed data transmission on top of their support for voice calls. The push to third generation (3G) systems has high-speed data transmission as one of its driving forces. A 3G CDMA2000 system will support transmission of data at rates of 19.2 kbps, 38.4 kbps, 76.8 kbps and 153.6 kbps (and even higher), referred to as 2×, 4×, 8× and 16×, respectively, to allow transmission of images, digital files, video, etc. These high-speed data channels, which are established between the base station and the mobile terminal, can transmit data in both directions. Data sent from the base station (BS) to the mobile terminal is referred to as being sent in the “forward” direction, while data from the mobile to the base station is referred to as being sent in the “reverse” direction. The wireless links or channels used to transmit the higher speed data between the base station and the mobile terminals are not permanent, but need to be established when the data is to be sent. High-speed data transmission between the base station and the mobile terminal is bursty in nature. Typically, data is not sent in a constant data stream, but instead is sent in a series of data bursts until transmission of the file, image, web page, etc. is complete. One reason that this mode of operation is used is that radio resources are limited and cannot simultaneously sustain servicing a plurality of mobile terminals that each have ongoing data sessions. In other words, using permanent dedicated channels utilizing these high-speed rates would only allow a base station to service a few mobiles due to radio resource limitations. Therefore, in order to service a plurality of mobile terminals, some form of resource sharing needs to be employed.
On a CDMA2000 wireless network, the high-speed data channels are called Supplemental Channels (SCHs). These supplemental channels exist for both forward and reverse directions, the F-SCH and R-SCH, respectively. When a burst is ready to be sent to a mobile terminal, the base station allocates some time on an F-SCH and informs the mobile terminal when the burst will start. This synchronization with the mobile terminal is performed through an ESCAM (Extended Supplemental Channel Assignment Message) that is transmitted by the base station on a control channel. The format of the ESCAM is defined in the IS-2000 standard, which is followed by designers of both stations and mobile terminals.
Scheduling data burst activity in a CDMA2000 wireless system is complex given that a plurality of mobile terminals may be simultaneously requesting bursts from a single base station. The complexity is present due to the fact that the high-speed wireless channels have to be shared and cannot be dedicated to each mobile terminal session, as noted above. Furthermore, a high-speed data channel is not a physical entity, but rather is a collection of independent resources each with a set of constraints that can vary over time and can also vary amongst base station configurations. The basic building blocks necessary to transmit data at high speeds are: (1) a contiguous set of Walsh codes; (2) contiguous channel fragments to drive the supplemental channel (i.e., some contiguous real estate on a CDMA2000 ASIC [Application Specific Integrated Circuit]); (3) some form of backhaul between the base station and the MSC (to deliver the high-speed data packets between the Mobile Switching Center (MSC) and the base station, or vice versa); and (4) some amount of RF power necessary to drive the supplemental channel and which can vary in strength depending on the location of the mobile terminal. All of these elements need to be available precisely when the BS transmits the burst to a given mobile terminal.
On top of this complexity is the scheduling complexity necessary to achieve fairness in simultaneously servicing the plurality of mobile terminals with a finite set of resources. Current methodology divides the resources into smaller and smaller pools and then distributes these small pools amongst the plurality of mobile terminals that are requesting service. The end result is that a mobile terminal will receive a lower speed burst (as low as 19.2 kbps), but many mobile terminals will get bursts simultaneously. Currently, this requires large amount of processing power given that this schema produces many smaller lower-rate channels. A new burst request arriving in an already loaded system requires the base station software to inspect many multiples of existing low-rate bursts to determine what resources are available for the new burst. Typically, in a loaded system, a new burst request will be given a low-rate of burst (19.2 kbps), and a large amount of processing power is required just to find the resources for this low-rate burst. Also, these resources move with each new burst request or burst continuation. Thus, when any new burst request is received, a new set of Walsh codes, ASIC channel fragments, etc., must be reserved.
As noted above, the prior art methodology of assigning resources addresses the resource sharing constraint by splitting the available resources into smaller and smaller pieces. As the number of requesting mobile terminals increases, the resources are partitioned into the smallest possible channels, which can only supply the 2× rate of 19.2 kbps. Many of these 2× channels are then handled in parallel. When a new burst request is received by an already heavily loaded system, it will either be denied or will get assigned a 2× channel at some later time. Furthermore, heavy processing is required to find the 2× resources that will be available at some time quanta in the future (the burst setup time) since there are so many small partitions of resources to check for availability. Even further, these resources are being checked for availability in the future since the burst will only be scheduled to start after the burst setup time has expired.
The prior art is also disadvantageously susceptible to leaving holes in the available resources. This results from the nature of the resource partitioning and the fact that there are constraints on certain resources being contiguous to each other (e.g., the Walsh codes). This is known as radio channel fragmentation. As the sharing scheme breaks the resources up, it cannot always put the resources back together at all times. Coalescing non-contiguous resources (e.g., Walsh codes, channel fragments) into single homogeneous contiguous resources is very complex and processor intensive. For example, there are times when two 2× channels are separately available that could be used to create a 4× burst if they were contiguous.